/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.gob.pnp.actions;
import com.opensymphony.xwork2.*;
import java.util.Date;
import pe.gob.pnp.despachadores.PersonalPolicialDespachador;
import java.sql.*;
import java.text.*;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
/**
 *
 * @author Freddy
 */
public class PersonalPolicial extends ActionSupport implements ServletRequestAware{

    private int npersIdentificador;
    private String cpersApepaterno;
    private String cpersApematerno;
    private String cpersNombre;
    private int npepoIdentificador;
    private double npepoTiempoServicio;
    private boolean bpepoPerteneceCuadroMerito;
    private Date dpepoFechaIngreso;
    private Date dpepoFechaBaja;
    private int ngradIdentificador;
    private int ndepeIdentificador;
    private String cdepeNombre;
    private String strFechaIngreso;
    private String strFechaBaja;

    private String cgradDescripcion;

    private HttpServletRequest servletRequest;

    SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");

    @Override
     public String input(){
        try{
            PersonalPolicialDespachador.agregarPersonalPolicial(this);
        }
        catch(SQLException ex){
        ex.printStackTrace();
            return "noagregado";
        }
        return "agregado";
    }

    public String modificar(){
        if(dpepoFechaBaja == null ) {
            return INPUT;
        }
        try{
            PersonalPolicialDespachador.modificarPersonalPolicial(this);
        }catch(SQLException ex){
            ex.printStackTrace();
            return "nomodificado";
        }
        return "modificado";
    }

      /**
      *
      *
      */
    public String eliminar(){
        try{
            PersonalPolicialDespachador.eliminarPersonalPolicial(Integer.parseInt(servletRequest.getParameter("npepoIdentificador")));
        }catch(SQLException ex){
            ex.printStackTrace();
            return "noeliminado";
        }
        return "eliminado";
    }


    /**
     * @return the npersIdentificador
     */
    public int getNpersIdentificador() {
        return npersIdentificador;
    }

    /**
     * @param npersIdentificador the npersIdentificador to set
     */
    public void setNpersIdentificador(int npersIdentificador) {
        this.npersIdentificador = npersIdentificador;
    }

   /**
     * @return the npepoIdentificador
     */
    public int getNpepoIdentificador() {
        return npepoIdentificador;
    }

    /**
     * @param npepoIdentificador the npepoIdentificador to set
     */
    public void setNpepoIdentificador(int npepoIdentificador) {
        this.npepoIdentificador = npepoIdentificador;
    }

    /**
     * @return the ndepeIdentificador
     */
    public int getNdepeIdentificador() {
        return ndepeIdentificador;
    }

    /**
     * @param ndepeIdentificador the ndepeIdentificador to set
     */
    public void setNdepeIdentificador(int ndepeIdentificador) {
        this.ndepeIdentificador = ndepeIdentificador;
    }

   /**
     * @return the strNombreCompleto
     */
    public String getStrNombreCompleto() {
        return this.cpersApepaterno+" "+this.cpersApematerno+", "+this.cpersNombre;
    }


    /**
     * @return the cdepeNombre
     */
    public String getCdepeNombre() {
        return cdepeNombre;
    }

    /**
     * @param cdepeNombre the cdepeNombre to set
     */
    public void setCdepeNombre(String cdepeNombre) {
        this.cdepeNombre = cdepeNombre;
    }

    /**
     * @return the cpersApepaterno
     */
    public String getCpersApepaterno() {
        return cpersApepaterno;
    }

    /**
     * @param cpersApepaterno the cpersApepaterno to set
     */
    public void setCpersApepaterno(String cpersApepaterno) {
        this.cpersApepaterno = cpersApepaterno;
    }

    /**
     * @return the cpersApematerno
     */
    public String getCpersApematerno() {
        return cpersApematerno;
    }

    /**
     * @param cpersApematerno the cpersApematerno to set
     */
    public void setCpersApematerno(String cpersApematerno) {
        this.cpersApematerno = cpersApematerno;
    }

    /**
     * @return the cpersNombre
     */
    public String getCpersNombre() {
        return cpersNombre;
    }

    /**
     * @param cpersNombre the cpersNombre to set
     */
    public void setCpersNombre(String cpersNombre) {
        this.cpersNombre = cpersNombre;
    }

 
    /**
     * @return the npepoTiempoServicio
     */
    public double getNpepoTiempoServicio() {
        return npepoTiempoServicio;
    }

    /**
     * @param npepoTiempoServicio the npepoTiempoServicio to set
     */
    public void setNpepoTiempoServicio(double npepoTiempoServicio) {
        this.npepoTiempoServicio = npepoTiempoServicio;
    }

    /**
     * @return the bpepoPerteneceCuadroMerito
     */
    public boolean isBpepoPerteneceCuadroMerito() {
        return bpepoPerteneceCuadroMerito;
    }

    /**
     * @param bpepoPerteneceCuadroMerito the bpepoPerteneceCuadroMerito to set
     */
    public void setBpepoPerteneceCuadroMerito(boolean bpepoPerteneceCuadroMerito) {
        this.bpepoPerteneceCuadroMerito = bpepoPerteneceCuadroMerito;
    }

    /**
     * @return the dpepoFechaIngreso
     */
    public Date getDpepoFechaIngreso() {
        return dpepoFechaIngreso;
    }

    /**
     * @param dpepoFechaIngreso the dpepoFechaIngreso to set
     */
    public void setDpepoFechaIngreso(Date dpepoFechaIngreso) {
        strFechaIngreso = df.format(dpepoFechaIngreso);
        this.dpepoFechaIngreso = dpepoFechaIngreso;
    }

    /**
     * @return the dpepoFechaBaja
     */
    public Date getDpepoFechaBaja() {
        return dpepoFechaBaja;
    }

    /**
     * @param dpepoFechaBaja the dpepoFechaBaja to set
     */
    public void setDpepoFechaBaja(Date dpepoFechaBaja) {
        if (dpepoFechaBaja != null) {
            strFechaBaja = df.format(dpepoFechaBaja);
            this.dpepoFechaBaja = dpepoFechaBaja;
        }
    }

    /**
     * @return the ngradIdentificador
     */
    public int getNgradIdentificador() {
        return ngradIdentificador;
    }

    /**
     * @param ngradIdentificador the ngradIdentificador to set
     */
    public void setNgradIdentificador(int ngradIdentificador) {
        this.ngradIdentificador = ngradIdentificador;
    }

    /**
     * @return the cgradDescripcion
     */
    public String getCgradDescripcion() {
        return cgradDescripcion;
    }

    /**
     * @param cgradDescripcion the cgradDescripcion to set
     */
    public void setCgradDescripcion(String cgradDescripcion) {
        this.cgradDescripcion = cgradDescripcion;
    }

    /**
     * @return the servletRequest
     */
    public HttpServletRequest getServletRequest() {
        return servletRequest;
    }

    /**
     * @param servletRequest the servletRequest to set
     */
    public void setServletRequest(HttpServletRequest servletRequest) {
        this.servletRequest = servletRequest;
    }

    /**
     * @return the strFechaIngreso
     */
    public String getStrFechaIngreso() {
        return strFechaIngreso;
    }

    /**
     * @param strFechaIngreso the strFechaIngreso to set
     */
    public void setStrFechaIngreso(String strFechaIngreso) {
        try {
            if(strFechaIngreso != null) {
                dpepoFechaIngreso = df.parse(strFechaIngreso);
            }
        } catch (ParseException ex) {
            ex.printStackTrace();
        }
        this.strFechaIngreso = strFechaIngreso;
    }

    /**
     * @return the strFechaBaja
     */
    public String getStrFechaBaja() {
        return strFechaBaja;
    }

    /**
     * @param strFechaBaja the strFechaBaja to set
     */
    public void setStrFechaBaja(String strFechaBaja) {
        try {
            if (strFechaBaja != null && !strFechaBaja.isEmpty()) {
                dpepoFechaBaja = df.parse(strFechaBaja);
            }
            
        } catch (ParseException ex) {
            ex.printStackTrace();
        }
        this.strFechaBaja = strFechaBaja;
    }
}
